package org.dtrd.modules.archive.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.dtrd.modules.patient.entity.bean.PatientBasicAndFamilyInfo;
import org.dtrd.modules.archive.entity.po.DtrdEntRdArchiveBasic;
import org.dtrd.modules.patient.entity.request.PatientRequest;
import org.dtrd.modules.questionnaire.entity.bean.PatientBasicInfo;

import java.util.List;
import java.util.Set;

/**
@author 萧
@date 2021-10-01 22:47:26
**/
public interface IDtrdEntRdArchiveBasicService extends IService<DtrdEntRdArchiveBasic> {

    /**
     * 获取患者的档案完成度
     * @param patientId patientId
     * @return 完成度百分比
     */
    Integer getPatientArchiveInfoPercent(Integer patientId);

    /**
     * 通过 patientIds 逻辑删除记录
     */
    void removeByPatientIds(Set<Integer> patientIds);

    /**
     * 通过 patientId 判断进行保存/修改 患者基本信息
     */
    boolean saveOrUpdatePatientInfo(PatientBasicAndFamilyInfo info);

    boolean saveOrUpdatePatientInfo(PatientBasicInfo info);

    /**
     * 通过指定条件查询 patientInfo 信息
     */
    List<PatientBasicAndFamilyInfo> getPatientBasicInfoByRequest(PatientRequest request);

    /**
     * 查询患者档案基础信息
     * @param patientId
     */
    DtrdEntRdArchiveBasic getPatientBasicInfoByPatientId(Integer patientId);
}
